<?php
namespace Admin\Controller;
use Think\Controller;
use Think\Page;

class EditlistController extends CommonController{
	public function index(){
		// if(!isset($_SESSION['admin'])){
		// 	$this->error('你还没有登入本系统','index',2);
		// 	exit;
		// }
		$o = M("info");
		// $data = $o->order('infoid desc')->select();
		// $this->assign('list',$data);

		#文章的分页
		$count = $o->count();// 查询满足要求的总记录数
		// $Page = new \Think\Page($count,15);//默认样式
        $Page = getpage($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        //getpage在Common/Common/function.php中定义分页样式
        $show = $Page->show();// 分页显示输出
        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $o->order('infoid desc')->limit($Page->firstRow.','.$Page->listRows)->select();
        // $list = $o->order('infoid desc')->limit($Page->firstRow.','.$Page->listRows)->cache(true)->select();//cache()生成缓存cache('cache_user',10)
        	// S('list',$list,10);//数据缓存，文件生成在Temp文件下命名加密
        	// F('list',$list,TEMP_PATH);//快速缓存，不加TEMP_PATH，文件生成在Data文件下命名不加密,加了之后生成在Temp中
        //S('cache_user',null);//删除缓存
        
        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);//赋值分页输出
		$this->display();
	}

	 //分页样式
    // public function showAllUsers() {
    //     $m = M('User');      
    //     $where = "id>10";
    //     $count = $m->where($where)->count();
    //     $p = getpage($count,1);
    //     $list = $m->field(true)->where($where)->order('id')->limit($p->firstRow, $p->listRows)->select();
    //     $this->assign('select', $list); // 赋值数据集
    //     $this->assign('page', $p->show()); // 赋值分页输出
    //     $this->display();
    // }

	#编辑文章数据表单的展示
	public function editform(){
		// if(!isset($_SESSION['admin'])){
		// 	$this->error('你还没有登入本系统','index',2);
		// 	exit;
		// }
		$infoid = $_GET['infoid'];
		$obj = M("info")->find($infoid);
		$infotitle = $obj['infotitle'];
		$infothimg = $obj['infothimg'];
		$infocontent = $obj['infocontent'];
		$infodatetime = $obj['infodatetime'];
		$infocount =$obj['infocount'];
		$infopost =$obj['infopost'];

		$this->assign('infotitle',$infotitle);
		$this->assign('infothimg',$infothimg);
		$this->assign('infocontent',$infocontent);
		$this->assign('infodatetime',$infodatetime);
		$this->assign('infocount',$infocount);
		$this->assign('infopost',$infopost);
		// print_r($infotitle);
		if(!$obj) {
            $this->redirect('__CONTROLLER__/editlist');
        }
  		
        $data = M("class")->select();
		$this->assign('data',$data);   
		$this->display();
	}
	
	

	#文章的编辑 更新操作
	public function editformsave(){
		$obj = M("info");
		// if(!isset($_SESSION['admin'])){
		// 	$this->error('你还没有登入本系统','index',2);
		// 	exit;
		// }
		$infoid = isset($_GET['infoid']) ? $_GET['infoid'] : '';
		$rs = $obj->where('infoid="'.$infoid.'"')->find();
		
		#接收表单数据
		//isset() 函数用于检测变量是否已设置并且非 NULL。
		$infoclass = isset($_POST['classid']) ? $_POST['classid'] : '';
		
		$infotitle = isset($_POST['infotitle']) ? $_POST['infotitle'] : '';
		$infothimg = isset($_POST['infothimg']) ? $_POST['infothimg'] : ''; 
		$infocontent = isset($_POST['infocontent']) ? $_POST['infocontent'] : '';
		$infodatetime = isset($_POST['infodatetime']) ? $_POST['infodatetime'] : '';
		$infocount = isset($_POST['infocount']) ? $_POST['infocount'] : '';
		$infopost = isset($_POST['infopost']) ? $_POST['infopost'] : '';
		#判断表单数据的填写
		
		if($infotitle != '' && $infocontent != ''){
			
			#对应字符名
			$data['infoId'] = $infoid;
			$data['infoClass'] = $infoclass;
            $data['infoTitle'] = $infotitle;
            $data['infoThimg'] = $infothimg;
            $data['infoContent'] = $infocontent;
            $data['infoDateTime'] = $infodatetime;
            $data['infoCount'] = $infocount;
            $data['infoPost'] = (bool)$infopost;//bit数据数据格式问题(bool)
            #存入数据库中info表中
            //对inifo表操作
       
			$obj->where('infoId="'.$infoid.'"')->save($data);

			$this->success('更新成功',U('index'),2);
        }else{
          	
            $this->error('更新失败(内容和标题都要写上！)','',2);//当前页面弹框提醒
        }  
	}

	#删除操作
	public function del(){
		// if(!isset($_SESSION['admin'])){
		// 	$this->error('你还没有登入本系统','index',2);
		// 	exit;
		// }
		$infoid = $_GET['id'];
		$obj = M("info")->where('infoid ="'.$infoid.'"')->delete();
		if($obj !== false)
		{
			$this->success("成功删除编号为{$infoid}的记录！",'',2);
		}else{
			$this->error('删除失败！','',2);
		}
	}

	#修改状态
	public function setStatus() {
        $data = array(
            'id' => intval($_GET['id']),
            'status' => intval($_GET['status']),
        );
        return $this->success('成功','',2);
    }

	#批量操作
	public function plcz(){
		// if(!isset($_SESSION['admin'])){
		// 	$this->error('你还没有登入本系统','index',2);
		// 	exit;
		// }
		#判断用户点的是那个按钮
		$btn0 = isset($_GET['btn0']) ? $_GET['btn0'] : '';
		$btn1 = isset($_GET['btn1']) ? $_GET['btn1'] : '';
		$btn2 = isset($_GET['btn2']) ? $_GET['btn2'] : '';
		$btn3 = isset($_GET['btn3']) ? $_GET['btn3'] : '';
		$btn4 = isset($_GET['btn4']) ? $_GET['btn4'] : '';
		// echo $btn1,$btn2.$btn3;
		#获取到已选中的数据编号
		$idar = isset($_GET['ck']) ? $_GET['ck'] : '';
		$idstring = implode(',', $idar);//implode() 函数返回一个由数组元素组合成的字符串。
		// print_r($idar);
		// print_r($idstring);
		// 待修改
		if($btn0 == '未审核查询'){
			$o = M("info");
				$infopost = 0;
				#文章的分页
				$count = $o->where('infopost="'.$infopost.'"')->count();// 查询满足要求的总记录数
		        $Page = new \Think\Page($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
		        $show = $Page->show();// 分页显示输出
		        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
		        $list = $o->where('infopost="'.$infopost.'"')->order('infoid desc')->limit($Page->firstRow.','.$Page->listRows)->select();
		        $this->assign('list',$list);// 赋值数据集
		        $this->assign('page',$show);//赋值分页输出
//		        $this->assign('type',$type);
		        
				$this->display('editlist/index');
		}
	
		if($btn3 == '批量删除'){
			if(!empty($idar)){
				$list = M("info")->delete($idstring);
				if($list!==false) {
				  $this->success("成功批量删除{$list}条！");
				}else{
				  $this->error('批量删除失败！');
			    }
			}else{
				$this->error('无数据操作！','',2);
			}
		}
		if($btn2 == '批量取消'){
			if(!empty($idar)){//empty() 函数用于检查一个变量是否为空。
				
				// print_r($idstring);
				$User = M();
				$sql = "update info set infoPost=0 where infoId in(".$idstring.")";
				$list = $User->execute($sql);
				if($list) {
				  $this->success("成功批量审核通过信息{$list}条！",'',2);
				}else{
				  $this->error('批量取消信息失败！','',2);
			    }
			}else{
				$this->error('无数据操作！','',2);
			}
		}
		if($btn1 == '批量审核'){
			if(!empty($idar)){//empty() 函数用于检查一个变量是否为空。
				// print_r($idstring);
				$User = M();
				$sql = "update info set infoPost=1 where infoId in(".$idstring.")";
				$list = $User->execute($sql);//query()执行的是查询(select)的SQL语句。
				//xecute()方法将返回影响的记录数。
				//如果在TP中使用query()来执行插入语句的话也会执行，而且也能插入成功，但是会报错。
				if($list) {
				  $this->success("成功取消审核信息{$list}条！",'',2);
				}else{
				  $this->error('批量审核信息失败！','',2);
			    }
			}else{
				$this->error('无数据操作！','',2);
			}
		}

	#查询操作
		if($btn4 == '查询'){
			$o = M("info");
			$type = isset($_GET['type']) ? $_GET['type'] : '';
			$title = $_GET['title'];
			if($type == '' && $title == '')
			{
				$this->redirect('index');
			}elseif($title == ''){
				#文章的分页
				$count = $o->where('infoclass="'.$type.'"')->count();// 查询满足要求的总记录数
		        $Page = new \Think\Page($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
		        $show = $Page->show();// 分页显示输出
		        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
		        $list = $o->where('infoclass="'.$type.'"')->order('infoid desc')->limit($Page->firstRow.','.$Page->listRows)->select();
		        $this->assign('list',$list);// 赋值数据集
		        $this->assign('page',$show);//赋值分页输出
		        $this->assign('type',$type);
		        
				$this->display('editlist/index');
			}else{
			#模糊查询（待修改）
				

				$map['infoTitle'] = array('like','%'.$title.'%');
				$map['infoClass'] = array('like','%'.$type.'%');
				$count = $o->where($map)->count();// 
		        $Page = new \Think\Page($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
		        $show = $Page->show();// 分页显示输出 
				$list = $o->where($map)
		            ->order('infoid desc ,infoclass desc')
		            ->limit($Page->firstRow.','.$Page->listRows)//翻页失效问题
		            ->select();
	          
		        $this->assign('list',$list);// 赋值数据集
		        $this->assign('page',$show);//赋值分页输出
		        $this->assign('type',$type);
	        	$this->assign('title',$title);

	        	$this->display('editlist/index');
	    	}
  	
        }

    }


    //ajax修改状态
    public function ajax_statu(){
        	$model = M('info');
			if($model->save($_POST)){
				echo "1";
			}else{
				echo "0";
			}
    }	
}